package com.fox.domain.repository;


import com.fox.domain.model.Order;

import java.util.Optional;
import java.util.UUID;

/**
 * 仓储接口：隐藏持久化细节，提供聚合根的持久化操作
 * 领域层只关心“查不到 → 返回 Optional.empty()”或能拿到一个完整的 Order 聚合，
 * 不关心是通过 JPA、MyBatis 还是其他方式实现。
 * 这样做能让核心业务模型保持“干净”，后续若要切换 ORM 框架，振幅较小
 */
public interface OrderRepository {
    void save(Order order);                   // 保存或更新 Order
    Optional<Order> findById(UUID id);        // 查询指定 ID 的 Order
    // 如果需要支持分页、筛选，可继续扩展方法
}